// ==UserScript==
// @name         查找下一章，到底自动点击
// @namespace    http://tampermonkey.net/
// @version      2024-09-30
// @description  try to take over the world!
// @author       bigona3
// @match        *//*/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=soduzw.com
// @grant        none
// @updateURL  https://gitee.com/bigona3/youhou_jb/raw/master/%5Ball%5Dfind_nexturl+bottom_autoclick.js
// ==/UserScript==

(function() {
    'use strict';
    let nextUrlElement = null;

    // 遍历selectors数组【  //id用#  class用. class中有空格用.】
    const selectors = ['.bottem1', '.lm', 'span.video-title','#next_url','.link-next.grey-button'];
    selectors.forEach(selector => {
        // 使用querySelector来查找第一个匹配的元素
        const element = document.querySelector(selector);
        // 如果找到了元素，则保存并跳出循环
        if (element) {
            nextUrlElement = element;
            console.log(nextUrlElement)
            return false; // 注意：这里的return false仅用于结束forEach的迭代，但在forEach中它不会实际停止外层函数的执行
        }
    });

    // 注意：由于forEach的设计，我们不能直接使用break来退出循环。
    // 但由于我们设置了nextUrlElement，一旦找到元素，它就会被赋值，并且循环会自然结束。

    // 验证是否找到了元素
    if (!nextUrlElement) {
        console.log('没有找到匹配的元素');
        // 如果需要停止执行其他JavaScript代码，可以在这里进行处理，但通常浏览器会继续加载和执行其他脚本。
    }

    // 添加滚动监听器
    window.addEventListener('scroll', function() {
        // 检查是否滚动到了页面底部
        if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight-50) {
            // 如果找到了元素并且滚动到了底部，则模拟点击
            if (nextUrlElement) {
                nextUrlElement.click();
                // 如果不想重复点击，可以移除监听器
                window.removeEventListener('scroll', arguments.callee, false);
            }
        }
    });

    // 注意：arguments.callee在新版本的JavaScript中已被弃用，建议使用命名函数来替代
    // 这里为了简洁而使用，但在实际项目中应避免使用

    // 更安全的移除监听器的方式
    function handleScroll() {
        if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight && nextUrlElement) {
            nextUrlElement.click();
            window.removeEventListener('scroll', handleScroll, false);
        }
    }

    window.addEventListener('scroll', handleScroll, false);
    // Your code here...
})();